package com.xunk.equipment.service;

import com.xunk.common.core.domain.EquipmentResponse;
import com.xunk.equipment.domain.EquipmentDO;

/**
 * @ProjectName: xunk
 * @Package: com.xunk.equipment.service
 * @ClassName: IEquipmentService
 * @Author: yangwendong
 * @Description:
 * @Date: 2021/4/1 13:23
 * @Version: 1.0
 */
public interface IEquipmentService {
    /**
     * 获取设备当前状态值信息
     *
     * @param equipmentDO 当前设备信息，包含设备id，设备厂商
     * @return
     */
    EquipmentResponse getEquipmentInfo(EquipmentDO equipmentDO);

    /**
     * 控制设备
     *
     * @param equipmentDO 当前设备信息，包含设备id，设备厂商
     * @param type        控制类型，如温度、开关、模式
     * @param value       操作目标值  如 20°(20)、open(true)、冷风模式(3)
     * @return
     */
    default Boolean control(EquipmentDO equipmentDO, String type, String value) {
        throw new RuntimeException("该设备不支持控制指令");
    }

}
